package com.smedi.ismedi.authoritymanagement.api.dto.response;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @Author: xulinjun
 * @Date: 2021-7-13 19:42
 */
@Data
@Accessors(chain = true)
public class FrameStructureResponse<T> implements Serializable {
    @ApiModelProperty(value = "结构id")
    private Long structureId;

    @ApiModelProperty(value = "是否被当前角色勾选")
    private boolean checkedByThisRole;

    @ApiModelProperty(value = "勾选时是否包含全部子节点")
    private boolean checkedAllChildren;

    @ApiModelProperty(value = "根节点编码")
    private String rootCode;

    @ApiModelProperty(value = "根节点名称")
    private String rootName;

    @ApiModelProperty(value = "父节点id")
    private Long parentId;

    @ApiModelProperty(value = "排序号")
    private int displayOrder;

    @ApiModelProperty(value = "构建类型")
    private String type;

    @ApiModelProperty(value = "构件id")
    private Long termId;

    @ApiModelProperty(value = "构件信息")
    private T term;

    @ApiModelProperty(value = "子节点")
    private List<FrameStructureResponse> children = new ArrayList<>();
}
